1. Field of the Invention
The invention relates in general to on-site upgrading of firmware code in optical disk drives. In particular, the invention relates to an apparatus for optical disk drives and its corresponding method capable of implementing firmware code upgrade via the ATA/IDE interface of the host computer system.
2. Technical Background
Optical disk drives, in particular the category of CD-ROM drives, the digital optoelectronic memory storage equipment have become so popular that almost every personal computer system has at least one installed. In the world of personal computers, the design of CD-ROM drives was intended originally for the storage of mass information on the CD-ROM discs. The concept, in a sense, is basically the same as the magnetic disk drives, which store information on the surface of the storage media. No writing capability is available to the user for this member of the CD family, and thus the name "CD-ROM." Large data is, however, accessible from CD-ROM discs that are mass produced for a low cost.
Although CD-ROM has been adopted by the ISO as a standard for digital data storage, there are also other applications beyond the simple storage of large amounts of data. Under proper software control, a CD-ROM drive may also be used to access several other types of discs in the CD family.
For example, in personal computer systems, CD-ROM drives are frequently used as the traditional CD player for playing back music pieces stored on the very first generation of CD, namely, the music CD. After the introduction of the original music CD, there had emerged in the family such formats as the Video CD (VCD). Conventional CD-ROM drives for personal computer systems are designed to be able to play back VCD video programs on the computer display screen. Due to the inherent limitation of the MPEG-1 adopted, the VCD standard is not for serious applications, and a couple of groups of electronic appliance conglomerates have recently achieved a new standard known as the Digital Video Disc (or Digital Versatile Disc).
This is a new video data storage format, a new member of the CD family based on the MPEG-2 standard that provides substantially better video effects via the use of higher resolution. As the DVD standard had proposed, backward compatibility for the new generation of DVD drives to the CD-ROM format has been designed into the new system. In other words, the up-coming DVD drives will be able to read CD-ROM in addition to its default DVD.
Thus, as an optical Compact Disc subsystem for a computer system, the CD-ROM drive can be programmed to access different formats of the CD family of media. In the popular x86-based IBM-compatible machines, this is implemented in a manner known as software driver installation. With the installation of the proper software drivers, the computer system, governed by the operating system, can be used to read data files stored on the CD-ROM, playback music CD, or video VCD. These software drivers are essentially established on top of the hardware-level control program resident in the control system of a CD-ROM drive. This firmware program is usually stored in non-volatile semiconductor memory devices, such as the erasable-programmable read-only memory (EPROM) or electrically erasable-programmable read-only memory (EEPROM).
Based on this firmware, CD-ROM drives can be controlled by the host computer system to suitably implement the functionality of music CD player, VCD player, and/or CD-ROM data drive. However, under certain circumstances, in particular when new models of CD-ROM drives are released to market for sale, software programs, either the firmware in the control electronics of the drive itself or the operating system/application-level driver, may have program problems (program bugs) that might cause the drive to malfunction. If the problem was with the operating system/application-level driver, it's fix may not involve the CD-ROM drive at all. If, however, the problem was unfortunately with the firmware of the CD-ROM drive, the software fix will inevitably cause much trouble.
Basically, if the drive firmware has any program problem, the firmware stored in the semiconductor memory device must be upgraded, namely, replaced by another copy without the problem. If the semiconductor memory used for holding the firmware program was a device like an EPROM, it must be removed from its inserted socket or de-soldered from the printed circuit board so as to implement reprogramming of its memory content. Normally, this involves ultraviolet irradiation on the EPROM device for its memory content erasure. If the erased memory device was to be reused again, as is usually the case, it then has to be reprogrammed to hold the new problem-free firmware program. Even if an EEPROM device was used to store the drive firmware, it must be handled in the manner as in the case of EPROM. This is because the conventional CD-ROM drive control logic lacks the design for on-site reprogramming.
The above-described procedure of firmware upgrade/fix for the conventional CD-ROM drives requires that the casing of the drive be opened in order to be able to have access to the firmware memory device. Before the memory device can even be accessed, the CD-ROM drive itself must be removed from the drive bay of the computer system unit, if it has already been installed. Further, erasure and programming of EPROM and/or EEPROM devices normally require the use of dedicated equipment such as ultraviolet eraser and programmer. Therefore, typical firmware upgrade operation for a CD-ROM drive is not normally handled by the end user of the computer system. A more likely scenario would be to have service personnel remove the CD-ROM drive from the system, and have the drive sent back to the manufacturer's site where the firmware gets upgraded.
When the CD-ROM drive whose firmware is to be upgraded is returned to the manufacturer's facility, the casing is opened, and the memory device is removed from the drive electronics utilizing proper tools and/or equipment. After reprogramming, the memory device, or a substitute thereof containing the correct firmware program code, may then be replaced back into the drive electronics. After adequate testing procedures, the upgraded CD-ROM drive is ready to be returned to the owner. Again, qualified personnel must replace the drive back into the computer system. As is obvious, relatively complicated professional knowledge is required to perform all the tasks involved in the upgrade of a CD-ROM drive. In a time when severe competition has driven the prices of CD-ROM drives down to the level where it is difficult for manufacturers to maintain a descent profit margin, such upgrading operation is strictly disastrous.
This is because the necessity to perform firmware upgrade for a CD-ROM drive often arises within the warrantee period of the product. As such, it is convention that the manufacturer will have to be responsible for the expenditures of drive removal from the host computer system as well as shipment, not to mention all the additional man power required to perform the upgrade. On the other hand, in the process of upgrade, the drive and its components may easily be subject to damages to cause additional loss. For the drive owner, the cost to find some technician to remove the drive from the computer system (if the manufacturer was not going to be responsible) may frequently amount to the level of the cost of some low-end CD-ROM drives.